home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
taropyon
/
guilib3
/
inc
/
mouse.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-11-30
|
2KB
|
79 lines
/* :*****************************************************************
: "mouse.h" : system“Pride”マウス・ライブラリ
:*****************************************************************
*/
#ifndef _MOUSE_H
#define _MOUSE_H
#ifndef _GUIDEFS_H
# include "guidefs.h"
#endif
extern int MosSw;
extern int MosX;
extern int MosY;
extern SHORT DspStartYmin;
extern SHORT DspStartYmax;
extern SHORT DspStartXmin;
extern SHORT DspStartXmax;
extern char MosHitFlag;
extern int MOS_pget(int *x,int *y);
extern int MOS_Vpget( int *x, int *y);
extern int MOS_moveArea( int x1, int y1, int x2, int y2 );
extern int MOS_initMoveArea(void);
extern void MOS_curDisp(int n);
extern void MOS_curType(int no);
#define MOS_CON() MOS_curDisp(1)
#define MOS_COFF() MOS_curDisp(0)
#define MOS_DEC() MOS_curDisp(2)
#define MOS_INC() MOS_curDisp(3)
/* "moslib1.c" ----------------------------------------------------*/
typedef struct
{ UCHAR page; /* 表示ページ */
char ignore;
char dsp; /* 表示フラグ */
char dmy_1;
SHORT curptn; /* カーソルパターン */
SHORT dmy_2;
FRAME move; /* 移動範囲 */
} MOSTK_T;
#define MOSTK MOSTK_T
extern void MOS_moveFrame( FRAME *fr );
extern MOSTK_T *MOS_push();
extern void MOS_pop( MOSTK_T *mosTk );
/* "moslib2.c" ----------------------------------------------------*/
typedef struct
{ FRAME move; /* 移動範囲 */
POINT pos;
POINT newPos;
} MOSTKP_T;
#define MOSTKP MOSTKP_T
extern void MOS_setPos(int x, int y);
extern MOSTKP *MOS_pushPos( FRAME *newArea, int newXofs, int newYofs );
extern void MOS_popPos( MOSTKP *mosTkP );
/* :-----------------------------------------------------------------
: 表示画面座標から仮想画面座標に変換するマクロ
: page 1 ⇒ page 0 (scroll)
:-----------------------------------------------------------------
*/
#define ScnStoVX(_x) ((_x)+DspCtrl.scinf[MosInf.scrollPage&1].dspstart.x)
#define ScnStoVY(_y) ((_y)+DspCtrl.scinf[MosInf.scrollPage&1].dspstart.y)
/* :-----------------------------------------------------------------
: 仮想画面座標から表示画面座標に変換するマクロ
: page 0(scroll) ⇒ page 1
:-----------------------------------------------------------------
*/
#define ScnVtoSX(_x) ((_x)-DspCtrl.scinf[MosInf.scrollPage&1].dspstart.x)
#define ScnVtoSY(_y) ((_y)-DspCtrl.scinf[MosInf.scrollPage&1].dspstart.y)
#endif